function AfterSearch(data) {
  //data = Process("scripts.utils.AfterSearchForTimeProcess", data);
  // console.log("----->", data);
  for (var i in data.data) {
    if (data.data[i].owner && data.data[i].owner.length) {
      data.data[i].owner = data.data[i].owner.join("，");
    }
    if (data.data[i].developer && data.data[i].developer.length) {
      data.data[i].developer = data.data[i].developer.join("，");
    }
    if (data.data[i].customer && data.data[i].customer.length) {
      data.data[i].customer = data.data[i].customer.join("，");
    }
    if (data.data[i].system && data.data[i].system.length) {
      data.data[i].system = data.data[i].system.join("，");
    }
  }
  return data;
}

/**
 * 在关联处理器 delete 之前运行
 * @param id 数据记录主键数值
 * @param query 查询参数
 */
function Delete(id) {

  // process check
  var res = Process("models.cmdb.process.Get", { wheres: [{ "column": "app_id", "op": "=", "value": id }] });
  if (res.length > 0) {
    throw new Exception("禁止删除，该应用有(" + res.length + ")个进程!", 500);
  }
  // crontab check @TODO
  var res = Process("models.cmdb.crontab.Get", { wheres: [{ "column": "app_id", "op": "=", "value": id }] });
  if (res.length > 0) {
    throw new Exception("禁止删除，该应用有(" + res.length + ")个crontab job !", 500);
  }
  // k8s service check @TODO
  var res = Process("models.cmdb.service.Get", { wheres: [{ "column": "app_id", "op": "=", "value": id }] });
  if (res.length > 0) {
    throw new Exception("禁止删除，该应用有(" + res.length + ")个服务!", 500);
  }

  var res = Process("models.cmdb.application.Delete", id, {});
  console.log("res-->", res);
  return [res];
}

function GetApplications(param) {
  // console.log("param--->",param)
  var query = new Query();

  var res = query.Get({
    select: ["id as value", ":concat(name,'(',environment,')') as label"],
    from: "application",
    wheres: [{ "field": "deleted_at", "op": "null" }]
    // wheres: [{ ":deleted_at": "删除时间", is: "null" }]
  });

  return res;
}

function Save(payload) {
  //console.log("---START-app-save---")
  // console.log(payload);
  const user_id = Process("session.Get", "user_id");
  // console.log("user_id1",user_id)
  payload.op_id = user_id;
  // console.log("---END-app-save---")
  var res = Process("models.cmdb.application.save", payload);
  return [res];
}


/**
* 在关联处理器 save 之前运行
* @param payload 用户提交数据记录
*/
function BeforeSave(payload) {
  console.log("---START1---")
  console.log(payload)
  //const user_id1 = Process("session.Get", "user_id");
  // console.log("user_id1",user_id1)
  //console.log("---END1---")
  return [payload];
}
/**
 * 在关联处理器 save 之后运行
 * @param result 处理器运行结果
 */
function AfterSave(result) {
  //console.log("---afterSave---")
  console.log(result)
  return result;
}

/**
 * 在关联处理器 create 之后运行
 * @param result 处理器运行结果
 */
function AfterCreate(result) {
  return result;
}

/**
 * 在关联处理器 update 之后运行
 * @param result 处理器运行结果
 */
function AfterUpdate(result) {
  return result;
}

/**
 * 在关联处理器 delete 之后运行
 * @param result 处理器运行结果
 */
function AfterDelete(result) {
  return result;
}

function Args(...args) {
  console.log("---START---")
  console.log(args);

  console.log("---END1---")
  return args;
}

